Low Power Instruction Fetch using Profiled Variable Length Instructions
نویسندگان
چکیده
Computer system performance is highly dependent on high access rate and low miss rate in the instruction cache, which also have implications on energy consumed by fetching instructions. Simulation experiments on a small scalar processor typical for embedded systems show that up to 20% of the overall processor energy is consumed in the instruction fetch path and that as much as 23% of the execution time is spent on instruction fetch. One way to increase the instruction memory bandwidth is to fetch more instructions on each access without increasing the bus width. We propose an extension of the normal RISC style ISA. The ISA is augmented with instructions of variable length, yielding a higher information density, without compromising programmability. Based on extensive profiling of dynamic instruction usage, in terms of instruction types and arguments of a set of SPEC CPU2000 applications, we present an extension scheme, using short, 8 and 16-bit instructions accompanied by lookup tables for used instruction argument combinations, that resides in the processor. In addition, we discuss introduced architectural extensions and implications experienced when enabling the fetch of four-byte wide chunks which can contain up to four instructions. Energy savings in instruction fetch and the rest of the processor are evaluated along with performance implications due to the property of variable length instructions using SimpleScalar and Wattch simulators. Our extension scheme with short instructions yields a 20-30% reduction in static memory usage, and simulations show that up to 60% of the dynamic executed instructions consist of short instructions. Throughout all executions, the programs experienced a reduction in instruction cache miss-rate. The overall energy savings are up to 15% for the entire data path and memory system, and up to 20% in the instruction fetch path alone.
منابع مشابه
The Heads and Tails Instruction Format
Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are illsuited to pipelined or parallel instruction fetch and decode. However, heads-and-tails (HAT) is a new variable-length instruction format that supports parallel fetch and decode of multiple instructions per cycle, allowing both high code density and rapid execution for high-performanc...
متن کاملHigh Performance, Variable-Length Instruction Encodings
Minimizing program code size reduces power consumption and space, which is especially important in embedded systems. Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are ill-suited to pipelined or parallel instruction fetch and decode. This thesis presents a new variable-length instruction format that supports parallel fetch and decode of...
متن کاملAn Operation Rearrangement Technique for Low-Power VLIW Instruction Fetch
As mobile applications are required to handle more computing-intensive tasks, many mobile devices are designed using VLIW processors for high performance. In VLIW machines where a single instruction contains multiple operations, the power consumption during instruction fetches varies signi cantly depending on how the operations are arranged within the instruction. In this paper, we describe a p...
متن کاملOptimizing CAM-based instruction cache designs for low-power embedded systems
Energy consumption and power dissipation are important concerns in the design of embedded systems and they will become even more crucial with finer process geometry, higher frequencies, deeper pipelines and wider issue designs. In particular, the instruction cache consumes more energy than any other processor module, especially with commonly used highly associative CAM-based implementations. Tw...
متن کاملUniversity Wednesday , 10 May 2000 Trace Cache
Due to unfortunate circumstances this lecture was not scribed, following are several points that I remember were brought up. If anyone has something to add please tell me. In this session we discussed three papers: Alternative Fetch and Issue Policies for the Trace Cache Fetch Mechanism-describes several enhancements to the original University of Michigan view of the trace cache. Path-Based Nex...
متن کامل